home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Printing.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  15.3 KB  |  514 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Printing.p
  3.  
  4.      Contains:    Print Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Printing;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __PRINTING__}
  28. {$SETC __PRINTING__ := 1}
  29.  
  30. {$I+}
  31. {$SETC PrintingIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __DIALOGS__}
  41. {$I Dialogs.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49.  
  50. CONST
  51.     iPFMaxPgs                    = 128;
  52.     iPrPgFract                    = 120;                            { Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract }
  53.     iPrPgFst                    = 1;                            { Page range constants }
  54.     iPrPgMax                    = 9999;
  55.     iPrRelease                    = 3;                            { Current version number of the code. }
  56.     iPrSavPFil                    = -1;
  57.     iPrAbort                    = $0080;
  58.     iPrDevCtl                    = 7;                            { The PrDevCtl Proc's ctl number }
  59.     lPrReset                    = $00010000;                    { The PrDevCtl Proc's CParam for reset }
  60.     lPrLineFeed                    = $00030000;
  61.     lPrLFStd                    = $0003FFFF;                    { The PrDevCtl Proc's CParam for std paper advance }
  62.     lPrLFSixth                    = $0003FFFF;
  63.     lPrPageEnd                    = $00020000;                    { The PrDevCtl Proc's CParam for end page }
  64.     lPrDocOpen                    = $00010000;
  65.     lPrPageOpen                    = $00040000;
  66.     lPrPageClose                = $00020000;
  67.     lPrDocClose                    = $00050000;
  68.     iFMgrCtl                    = 8;                            { The FMgr's Tail-hook Proc's ctl number }
  69.     iMscCtl                        = 9;                            { The FMgr's Tail-hook Proc's ctl number }
  70.     iPvtCtl                        = 10;                            { The FMgr's Tail-hook Proc's ctl number }
  71.  
  72. {    Error Codes moved to Errors.(hap) }
  73.     pPrGlobals                    = $00000944;                    { The PrVars lo mem area: }
  74.     bDraftLoop                    = 0;
  75.     bSpoolLoop                    = 1;
  76.     bUser1Loop                    = 2;
  77.     bUser2Loop                    = 3;
  78.     fNewRunBit                    = 2;
  79.     fHiResOK                    = 3;
  80.     fWeOpenedRF                    = 4;                            { Driver constants  }
  81.     iPrBitsCtl                    = 4;
  82.     lScreenBits                    = 0;
  83.     lPaintBits                    = 1;
  84.     lHiScreenBits                = $00000002;                    { The Bitmap Print Proc's Screen Bitmap param }
  85.     lHiPaintBits                = $00000003;                    { The Bitmap Print Proc's Paint [sq pix] param }
  86.     iPrIOCtl                    = 5;
  87.     iPrEvtCtl                    = 6;                            { The PrEvent Proc's ctl number }
  88.     lPrEvtAll                    = $0002FFFD;                    { The PrEvent Proc's CParam for the entire screen }
  89.     lPrEvtTop                    = $0001FFFD;                    { The PrEvent Proc's CParam for the top folder }
  90.     iPrDrvrRef                    = -3;
  91.  
  92.     getRslDataOp                = 4;
  93.     setRslOp                    = 5;
  94.     draftBitsOp                    = 6;
  95.     noDraftBitsOp                = 7;
  96.     getRotnOp                    = 8;
  97.     NoSuchRsl                    = 1;
  98.     OpNotImpl                    = 2;                            { the driver doesn't support this opcode }
  99.     RgType1                        = 1;
  100.  
  101.     feedCut                        = 0;
  102.     feedFanfold                    = 1;
  103.     feedMechCut                    = 2;
  104.     feedOther                    = 3;
  105.  
  106.  
  107. TYPE
  108.     TFeed                                = SInt8;
  109.  
  110. CONST
  111.     scanTB                        = 0;
  112.     scanBT                        = 1;
  113.     scanLR                        = 2;
  114.     scanRL                        = 3;
  115.  
  116.  
  117. TYPE
  118.     TScan                                = SInt8;
  119. { A Rect Ptr }
  120.     TPRect                                = ^Rect;
  121. {$IFC TYPED_FUNCTION_POINTERS}
  122.     PrIdleProcPtr = PROCEDURE;
  123. {$ELSEC}
  124.     PrIdleProcPtr = ProcPtr;
  125. {$ENDC}
  126.  
  127. {$IFC TYPED_FUNCTION_POINTERS}
  128.     PItemProcPtr = PROCEDURE(theDialog: DialogPtr; item: INTEGER);
  129. {$ELSEC}
  130.     PItemProcPtr = ProcPtr;
  131. {$ENDC}
  132.  
  133.     PrIdleUPP = UniversalProcPtr;
  134.     PItemUPP = UniversalProcPtr;
  135.  
  136. CONST
  137.     uppPrIdleProcInfo = $00000000;
  138.     uppPItemProcInfo = $000002C0;
  139.  
  140. FUNCTION NewPrIdleProc(userRoutine: PrIdleProcPtr): PrIdleUPP;
  141.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  142.     INLINE $2E9F;
  143.     {$ENDC}
  144.  
  145. FUNCTION NewPItemProc(userRoutine: PItemProcPtr): PItemUPP;
  146.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  147.     INLINE $2E9F;
  148.     {$ENDC}
  149.  
  150. PROCEDURE CallPrIdleProc(userRoutine: PrIdleUPP);
  151.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  152.     INLINE $205F, $4E90;
  153.     {$ENDC}
  154.  
  155. PROCEDURE CallPItemProc(theDialog: DialogPtr; item: INTEGER; userRoutine: PItemUPP);
  156.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  157.     INLINE $205F, $4E90;
  158.     {$ENDC}
  159.  
  160. TYPE
  161.     TPrPortPtr = ^TPrPort;
  162.     TPrPort = RECORD
  163.         gPort:                    GrafPort;                                { The Printer's graf port. }
  164.         gProcs:                    QDProcs;                                { ..and its procs }
  165.         lGParam1:                LONGINT;                                { 16 bytes for private parameter storage. }
  166.         lGParam2:                LONGINT;
  167.         lGParam3:                LONGINT;
  168.         lGParam4:                LONGINT;
  169.         fOurPtr:                BOOLEAN;                                { Whether the PrPort allocation was done by us. }
  170.         fOurBits:                BOOLEAN;                                { Whether the BitMap allocation was done by us. }
  171.     END;
  172.  
  173.     TPPrPort                            = ^TPrPort;
  174.     TPPrPortRef                            = ^TPrPort;
  175. { Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  176.   This is the "PrPeek" record. }
  177.     TPrInfoPtr = ^TPrInfo;
  178.     TPrInfo = RECORD
  179.         iDev:                    INTEGER;                                { Font mgr/QuickDraw device code }
  180.         iVRes:                    INTEGER;                                { Resolution of device, in device coordinates }
  181.         iHRes:                    INTEGER;                                { ..note: V before H => compatable with Point. }
  182.         rPage:                    Rect;                                    { The page (printable) rectangle in device coordinates. }
  183.     END;
  184.  
  185.     TPPrInfo                            = ^TPrInfo;
  186. { Print Info Record: The parameters needed for page composition. }
  187.     TPrStlPtr = ^TPrStl;
  188.     TPrStl = RECORD
  189.         wDev:                    INTEGER;
  190.         iPageV:                    INTEGER;
  191.         iPageH:                    INTEGER;
  192.         bPort:                    SInt8;
  193.         feed:                    TFeed;
  194.     END;
  195.  
  196.     TPPrStl                                = ^TPrStl;
  197.     TPrXInfoPtr = ^TPrXInfo;
  198.     TPrXInfo = RECORD
  199.         iRowBytes:                INTEGER;
  200.         iBandV:                    INTEGER;
  201.         iBandH:                    INTEGER;
  202.         iDevBytes:                INTEGER;
  203.         iBands:                    INTEGER;
  204.         bPatScale:                SInt8;
  205.         bUlThick:                SInt8;
  206.         bUlOffset:                SInt8;
  207.         bUlShadow:                SInt8;
  208.         scan:                    TScan;
  209.         bXInfoX:                SInt8;
  210.     END;
  211.  
  212.     TPPrXInfo                            = ^TPrXInfo;
  213.     TPrJobPtr = ^TPrJob;
  214.     TPrJob = RECORD
  215.         iFstPage:                INTEGER;                                { Page Range. }
  216.         iLstPage:                INTEGER;
  217.         iCopies:                INTEGER;                                { No. copies. }
  218.         bJDocLoop:                SInt8;                                    { The Doc style: Draft, Spool, .., and .. }
  219.         fFromUsr:                BOOLEAN;                                { Printing from an User's App (not PrApp) flag }
  220.         pIdleProc:                PrIdleUPP;                                { The Proc called while waiting on IO etc. }
  221.         pFileName:                StringPtr;                                { Spool File Name: NIL for default. }
  222.         iFileVol:                INTEGER;                                { Spool File vol, set to 0 initially }
  223.         bFileVers:                SInt8;                                    { Spool File version, set to 0 initially }
  224.         bJobX:                    SInt8;                                    { An eXtra byte. }
  225.     END;
  226.  
  227.     TPPrJob                                = ^TPrJob;
  228. { Print Job: Print "form" for a single print request. }
  229.     TPrFlag1Ptr = ^TPrFlag1;
  230.     TPrFlag1 = PACKED RECORD
  231.         f15:                    BOOLEAN;
  232.         f14:                    BOOLEAN;
  233.         f13:                    BOOLEAN;
  234.         f12:                    BOOLEAN;
  235.         f11:                    BOOLEAN;
  236.         f10:                    BOOLEAN;
  237.         f9:                        BOOLEAN;
  238.         f8:                        BOOLEAN;
  239.         f7:                        BOOLEAN;
  240.         f6:                        BOOLEAN;
  241.         f5:                        BOOLEAN;
  242.         f4:                        BOOLEAN;
  243.         f3:                        BOOLEAN;
  244.         f2:                        BOOLEAN;
  245.         fLstPgFst:                BOOLEAN;
  246.         fUserScale:                BOOLEAN;
  247.     END;
  248.  
  249.     TPrintPtr = ^TPrint;
  250.     TPrint = RECORD
  251.         iPrVersion:                INTEGER;                                { (2) Printing software version }
  252.         prInfo:                    TPrInfo;                                { (14) the PrInfo data associated with the current style. }
  253.         rPaper:                    Rect;                                    { (8) The paper rectangle [offset from rPage] }
  254.         prStl:                    TPrStl;                                    { (8)  This print request's style. }
  255.         prInfoPT:                TPrInfo;                                { (14)  Print Time Imaging metrics }
  256.         prXInfo:                TPrXInfo;                                { (16)  Print-time (expanded) Print info record. }
  257.         prJob:                    TPrJob;                                    { (20) The Print Job request (82)  Total of the above; 120-82 = 38 bytes needed to fill 120 }
  258.         CASE INTEGER OF
  259.         0: (
  260.             printX:                ARRAY [1..19] OF INTEGER;
  261.             );
  262.         1: (
  263.             prFlag1:            TPrFlag1;
  264.             iZoomMin:            INTEGER;
  265.             iZoomMax:            INTEGER;
  266.             hDocName:            StringHandle;
  267.            );
  268.     END;
  269.  
  270.     TPPrint                                = ^TPrint;
  271.     THPrint                                = ^TPPrint;
  272.     TPrStatusPtr = ^TPrStatus;
  273.     TPrStatus = RECORD
  274.         iTotPages:                INTEGER;                                { Total pages in Print File. }
  275.         iCurPage:                INTEGER;                                { Current page number }
  276.         iTotCopies:                INTEGER;                                { Total copies requested }
  277.         iCurCopy:                INTEGER;                                { Current copy number }
  278.         iTotBands:                INTEGER;                                { Total bands per page. }
  279.         iCurBand:                INTEGER;                                { Current band number }
  280.         fPgDirty:                BOOLEAN;                                { True if current page has been written to. }
  281.         fImaging:                BOOLEAN;                                { Set while in band's DrawPic call. }
  282.         hPrint:                    THPrint;                                { Handle to the active Printer record }
  283.         pPrPort:                TPPrPortRef;                            { Ptr to the active PrPort }
  284.         hPic:                    PicHandle;                                { Handle to the active Picture }
  285.     END;
  286.  
  287.     TPPrStatus                            = ^TPrStatus;
  288.     TPPrStatusRef                        = ^TPrStatus;
  289.  
  290. { Print Status: Print information during printing. }
  291.     TPfPgDirPtr = ^TPfPgDir;
  292.     TPfPgDir = RECORD
  293.         iPages:                    INTEGER;
  294.         iPgPos:                    ARRAY [0..128] OF LONGINT;                { ARRAY [0..iPfMaxPgs] OF LONGINT }
  295.     END;
  296.  
  297.     TPPfPgDir                            = ^TPfPgDir;
  298.     THPfPgDir                            = ^TPPfPgDir;
  299. { PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) }
  300. { This is the Printing Dialog Record. Only used by folks appending their own
  301.    DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. }
  302.     TPrDlgPtr = ^TPrDlg;
  303.     TPrDlg = RECORD
  304.         Dlg:                    DialogRecord;                            { The Dialog window }
  305.         pFltrProc:                ModalFilterUPP;                            { The Filter Proc. }
  306.         pItemProc:                PItemUPP;                                { The Item evaluating proc. }
  307.         hPrintUsr:                THPrint;                                { The user's print record. }
  308.         fDoIt:                    BOOLEAN;
  309.         fDone:                    BOOLEAN;
  310.         lUser1:                    LONGINT;                                { Four longs for apps to hang global data. }
  311.         lUser2:                    LONGINT;                                { Plus more stuff needed by the particular }
  312.         lUser3:                    LONGINT;                                { printing dialog. }
  313.         lUser4:                    LONGINT;
  314.     END;
  315.  
  316.     TPPrDlg                                = ^TPrDlg;
  317.     TPPrDlgRef                            = ^TPrDlg;
  318. {$IFC TYPED_FUNCTION_POINTERS}
  319.     PDlgInitProcPtr = FUNCTION(hPrint: THPrint): TPPrDlgRef;
  320. {$ELSEC}
  321.     PDlgInitProcPtr = ProcPtr;
  322. {$ENDC}
  323.  
  324.     PDlgInitUPP = UniversalProcPtr;
  325.  
  326. CONST
  327.     uppPDlgInitProcInfo = $000000F0;
  328.  
  329. FUNCTION NewPDlgInitProc(userRoutine: PDlgInitProcPtr): PDlgInitUPP;
  330.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  331.     INLINE $2E9F;
  332.     {$ENDC}
  333.  
  334. FUNCTION CallPDlgInitProc(hPrint: THPrint; userRoutine: PDlgInitUPP): TPPrDlgRef;
  335.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  336.     INLINE $205F, $4E90;
  337.     {$ENDC}
  338.  
  339. TYPE
  340.     TGnlDataPtr = ^TGnlData;
  341.     TGnlData = RECORD
  342.         iOpCode:                INTEGER;
  343.         iError:                    INTEGER;
  344.         lReserved:                LONGINT;                                { more fields here depending on call }
  345.     END;
  346.  
  347.     TRslRgPtr = ^TRslRg;
  348.     TRslRg = RECORD
  349.         iMin:                    INTEGER;
  350.         iMax:                    INTEGER;
  351.     END;
  352.  
  353.     TRslRecPtr = ^TRslRec;
  354.     TRslRec = RECORD
  355.         iXRsl:                    INTEGER;
  356.         iYRsl:                    INTEGER;
  357.     END;
  358.  
  359.     TGetRslBlkPtr = ^TGetRslBlk;
  360.     TGetRslBlk = RECORD
  361.         iOpCode:                INTEGER;
  362.         iError:                    INTEGER;
  363.         lReserved:                LONGINT;
  364.         iRgType:                INTEGER;
  365.         xRslRg:                    TRslRg;
  366.         yRslRg:                    TRslRg;
  367.         iRslRecCnt:                INTEGER;
  368.         rgRslRec:                ARRAY [1..27] OF TRslRec;
  369.     END;
  370.  
  371.     TSetRslBlkPtr = ^TSetRslBlk;
  372.     TSetRslBlk = RECORD
  373.         iOpCode:                INTEGER;
  374.         iError:                    INTEGER;
  375.         lReserved:                LONGINT;
  376.         hPrint:                    THPrint;
  377.         iXRsl:                    INTEGER;
  378.         iYRsl:                    INTEGER;
  379.     END;
  380.  
  381.     TDftBitsBlkPtr = ^TDftBitsBlk;
  382.     TDftBitsBlk = RECORD
  383.         iOpCode:                INTEGER;
  384.         iError:                    INTEGER;
  385.         lReserved:                LONGINT;
  386.         hPrint:                    THPrint;
  387.     END;
  388.  
  389.     TGetRotnBlkPtr = ^TGetRotnBlk;
  390.     TGetRotnBlk = RECORD
  391.         iOpCode:                INTEGER;
  392.         iError:                    INTEGER;
  393.         lReserved:                LONGINT;
  394.         hPrint:                    THPrint;
  395.         fLandscape:                BOOLEAN;
  396.         bXtra:                    SInt8;
  397.     END;
  398.  
  399. PROCEDURE PrPurge;
  400.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  401.     INLINE $2F3C, $A800, $0000, $A8FD;
  402.     {$ENDC}
  403. PROCEDURE PrNoPurge;
  404.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  405.     INLINE $2F3C, $B000, $0000, $A8FD;
  406.     {$ENDC}
  407. PROCEDURE PrOpen;
  408.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  409.     INLINE $2F3C, $C800, $0000, $A8FD;
  410.     {$ENDC}
  411. PROCEDURE PrClose;
  412.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  413.     INLINE $2F3C, $D000, $0000, $A8FD;
  414.     {$ENDC}
  415. PROCEDURE PrintDefault(hPrint: THPrint);
  416.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  417.     INLINE $2F3C, $2004, $0480, $A8FD;
  418.     {$ENDC}
  419. FUNCTION PrValidate(hPrint: THPrint): BOOLEAN;
  420.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  421.     INLINE $2F3C, $5204, $0498, $A8FD;
  422.     {$ENDC}
  423. FUNCTION PrStlDialog(hPrint: THPrint): BOOLEAN;
  424.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  425.     INLINE $2F3C, $2A04, $0484, $A8FD;
  426.     {$ENDC}
  427. FUNCTION PrJobDialog(hPrint: THPrint): BOOLEAN;
  428.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  429.     INLINE $2F3C, $3204, $0488, $A8FD;
  430.     {$ENDC}
  431. FUNCTION PrStlInit(hPrint: THPrint): TPPrDlgRef;
  432.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  433.     INLINE $2F3C, $3C04, $040C, $A8FD;
  434.     {$ENDC}
  435. FUNCTION PrJobInit(hPrint: THPrint): TPPrDlgRef;
  436.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  437.     INLINE $2F3C, $4404, $0410, $A8FD;
  438.     {$ENDC}
  439. PROCEDURE PrJobMerge(hPrintSrc: THPrint; hPrintDst: THPrint);
  440.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  441.     INLINE $2F3C, $5804, $089C, $A8FD;
  442.     {$ENDC}
  443. FUNCTION PrDlgMain(hPrint: THPrint; pDlgInit: PDlgInitUPP): BOOLEAN;
  444.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  445.     INLINE $2F3C, $4A04, $0894, $A8FD;
  446.     {$ENDC}
  447. FUNCTION PrOpenDoc(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr): TPPrPortRef;
  448.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  449.     INLINE $2F3C, $0400, $0C00, $A8FD;
  450.     {$ENDC}
  451. PROCEDURE PrCloseDoc(pPrPort: TPPrPortRef);
  452.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  453.     INLINE $2F3C, $0800, $0484, $A8FD;
  454.     {$ENDC}
  455. PROCEDURE PrOpenPage(pPrPort: TPPrPortRef; pPageFrame: TPRect);
  456.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  457.     INLINE $2F3C, $1000, $0808, $A8FD;
  458.     {$ENDC}
  459. PROCEDURE PrClosePage(pPrPort: TPPrPortRef);
  460.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  461.     INLINE $2F3C, $1800, $040C, $A8FD;
  462.     {$ENDC}
  463. PROCEDURE PrPicFile(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr; pDevBuf: Ptr; prStatus: TPPrStatusRef);
  464.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  465.     INLINE $2F3C, $6005, $1480, $A8FD;
  466.     {$ENDC}
  467. FUNCTION PrError: INTEGER;
  468.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  469.     INLINE $2F3C, $BA00, $0000, $A8FD;
  470.     {$ENDC}
  471. PROCEDURE PrSetError(iErr: INTEGER);
  472.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  473.     INLINE $2F3C, $C000, $0200, $A8FD;
  474.     {$ENDC}
  475. PROCEDURE PrGeneral(pData: Ptr);
  476.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  477.     INLINE $2F3C, $7007, $0480, $A8FD;
  478.     {$ENDC}
  479. PROCEDURE PrDrvrOpen;
  480.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  481.     INLINE $2F3C, $8000, $0000, $A8FD;
  482.     {$ENDC}
  483. PROCEDURE PrDrvrClose;
  484.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  485.     INLINE $2F3C, $8800, $0000, $A8FD;
  486.     {$ENDC}
  487. PROCEDURE PrCtlCall(iWhichCtl: INTEGER; lParam1: LONGINT; lParam2: LONGINT; lParam3: LONGINT);
  488.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  489.     INLINE $2F3C, $A000, $0E00, $A8FD;
  490.     {$ENDC}
  491. FUNCTION PrDrvrDCE: Handle;
  492.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  493.     INLINE $2F3C, $9400, $0000, $A8FD;
  494.     {$ENDC}
  495. FUNCTION PrDrvrVers: INTEGER;
  496.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  497.     INLINE $2F3C, $9A00, $0000, $A8FD;
  498.     {$ENDC}
  499. FUNCTION PrLoadDriver: INTEGER;
  500.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  501.     INLINE $2F3C, $D800, $0000, $A8FD;
  502.     {$ENDC}
  503.  
  504. {$ALIGN RESET}
  505. {$POP}
  506.  
  507. {$SETC UsingIncludes := PrintingIncludes}
  508.  
  509. {$ENDC} {__PRINTING__}
  510.  
  511. {$IFC NOT UsingIncludes}
  512.  END.
  513. {$ENDC}
  514.